home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.Toolkit;
- import java.awt.image.ColorModel;
- import java.awt.image.ImageObserver;
- import java.awt.image.ImageProducer;
- import java.awt.peer.ComponentPeer;
- import sun.awt.DrawingSurface;
- import sun.awt.DrawingSurfaceInfo;
- import sun.awt.ObjectPeer;
- import sun.awt.ScreenUpdater;
- import sun.awt.UpdateClient;
-
- public abstract class WComponentPeer extends ObjectPeer implements ComponentPeer, UpdateClient, DrawingSurface {
- private int updateX1;
- private int updateY1;
- private int updateX2;
- private int updateY2;
- Component target;
- int pNativeWidget;
- int pWinMsg;
-
- WComponentPeer(Component var1) {
- this.target = var1;
- Container var2 = var1.getParent();
- this.create((WComponentPeer)(var2 != null ? ((Component)var2).getPeer() : null));
- this.initialize();
- }
-
- protected void finalize() {
- if (this.pNativeWidget != 0) {
- this.dispose();
- }
-
- }
-
- abstract void create(WComponentPeer var1);
-
- public void dispose() {
- this.dispose0();
- super.dispose();
- }
-
- public synchronized native void dispose0();
-
- public native void show();
-
- public native void hide();
-
- public native void enable();
-
- public native void disable();
-
- public native void setForeground(Color var1);
-
- public native void setBackground(Color var1);
-
- public native void setFont(Font var1);
-
- public synchronized native void requestFocus();
-
- public native void nextFocus();
-
- public native void reshape(int var1, int var2, int var3, int var4);
-
- public synchronized native boolean handleEvent(Event var1);
-
- public Dimension minimumSize() {
- return this.target.size();
- }
-
- public Dimension preferredSize() {
- return this.minimumSize();
- }
-
- public ColorModel getColorModel() {
- return WToolkit.getStaticColorModel();
- }
-
- public Toolkit getToolkit() {
- return Toolkit.getDefaultToolkit();
- }
-
- public Graphics getGraphics() {
- WGraphics var1 = new WGraphics(this);
- ((Graphics)var1).setColor(this.target.getForeground());
- ((Graphics)var1).setFont(this.target.getFont());
- return var1;
- }
-
- public FontMetrics getFontMetrics(Font var1) {
- return WFontMetrics.getFontMetrics(var1);
- }
-
- public void repaint(long var1, int var3, int var4, int var5, int var6) {
- this.addRepaintArea(var3, var4, var5, var6);
- ScreenUpdater.updater.notify(this, var1);
- }
-
- public void paint(Graphics var1) {
- var1.setColor(this.target.getForeground());
- var1.setFont(this.target.getFont());
- this.target.paint(var1);
- }
-
- public void update(Graphics var1) {
- var1.setColor(this.target.getForeground());
- var1.setFont(this.target.getFont());
- this.target.update(var1);
- }
-
- public void print(Graphics var1) {
- Dimension var2 = this.target.size();
- var1.setColor(this.target.getForeground());
- var1.setFont(this.target.getFont());
- var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
- this.target.print(var1);
- }
-
- public Image createImage(ImageProducer var1) {
- return new WImage(var1);
- }
-
- public Image createImage(int var1, int var2) {
- return new WImage(var1, var2);
- }
-
- public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
- return WToolkit.prepareScrImage(var1, var2, var3, var4);
- }
-
- public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
- return WToolkit.checkScrImage(var1, var2, var3, var4);
- }
-
- public int updatePriority() {
- return 5;
- }
-
- public void updateClient(Object var1) {
- synchronized(this){}
-
- int var2;
- int var3;
- int var4;
- int var5;
- try {
- var2 = this.updateX1;
- var3 = this.updateY1;
- var4 = this.updateX2;
- var5 = this.updateY2;
- this.updateX1 = this.updateX2;
- } catch (Throwable var8) {
- throw var8;
- }
-
- if (var2 != var4) {
- this.widget_repaint(var2, var3, var4 - var2, var5 - var3);
- }
-
- }
-
- protected native void widget_repaint(int var1, int var2, int var3, int var4);
-
- void initialize() {
- if (this.target.isVisible()) {
- this.show();
- } else {
- this.hide();
- }
-
- Color var1;
- if ((var1 = this.target.getForeground()) != null) {
- this.setForeground(var1);
- }
-
- Font var2;
- if ((var2 = this.target.getFont()) != null) {
- this.setFont(var2);
- }
-
- if (!this.target.isEnabled()) {
- this.disable();
- }
-
- Rectangle var3 = this.target.bounds();
- this.reshape(var3.x, var3.y, var3.width, var3.height);
- }
-
- private synchronized void addRepaintArea(int var1, int var2, int var3, int var4) {
- if (this.updateX1 == this.updateX2) {
- this.updateX1 = var1;
- this.updateY1 = var2;
- this.updateX2 = var1 + var3;
- this.updateY2 = var2 + var4;
- } else {
- if (var1 < this.updateX1) {
- this.updateX1 = var1;
- }
-
- if (var2 < this.updateY1) {
- this.updateY1 = var2;
- }
-
- if (var1 + var3 > this.updateX2) {
- this.updateX2 = var1 + var3;
- }
-
- if (var2 + var4 > this.updateY2) {
- this.updateY2 = var2 + var4;
- }
-
- }
- }
-
- public String toString() {
- return this.getClass().getName() + "[" + this.target + "]";
- }
-
- private native Event setData(int var1, Event var2);
-
- protected void handleQuit(long var1) {
- Event var3 = new Event(this.target, 201, (Object)null);
- this.target.postEvent(var3);
- }
-
- protected void handleMoved(long var1, int var3, int var4, int var5) {
- }
-
- protected void handleResize(long var1, int var3, int var4, int var5, int var6, int var7) {
- }
-
- protected void handleGotFocus(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, 1004, (Object)null));
- this.target.postEvent(var8);
- }
-
- protected void handleLostFocus(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, 1005, (Object)null));
- this.target.postEvent(var8);
- }
-
- protected void handleActionKey(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 403, var4, var5, var6, var7));
- this.target.postEvent(var8);
- }
-
- protected void handleActionKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 404, var4, var5, var6, var7));
- this.target.postEvent(var8);
- }
-
- protected void handleKeyPress(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 401, var4, var5, var6, var7));
- this.target.postEvent(var8);
- }
-
- protected void handleKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 402, var4, var5, var6, var7));
- this.target.postEvent(var8);
- }
-
- protected void handleMouseEnter(long var1, int var3, int var4, int var5) {
- Event var6 = new Event(this.target, var1, 504, var4, var5, 0, 0, (Object)null);
- this.target.postEvent(var6);
- }
-
- protected void handleMouseExit(long var1, int var3, int var4, int var5) {
- Event var6 = new Event(this.target, var1, 505, var4, var5, 0, 0, (Object)null);
- this.target.postEvent(var6);
- }
-
- protected void handleMouseDown(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 501, var4, var5, 0, var7, (Object)null));
- var8.clickCount = var6;
- this.target.postEvent(var8);
- }
-
- protected void handleMouseUp(long var1, int var3, int var4, int var5, int var6, int var7) {
- Event var8 = this.setData(var3, new Event(this.target, var1, 502, var4, var5, 0, var7, (Object)null));
- this.target.postEvent(var8);
- }
-
- protected void handleMouseMoved(long var1, int var3, int var4, int var5, int var6) {
- Event var7 = this.setData(var3, new Event(this.target, var1, 503, var4, var5, 0, var6, (Object)null));
- this.target.postEvent(var7);
- }
-
- protected void handleMouseDrag(long var1, int var3, int var4, int var5, int var6) {
- Event var7 = this.setData(var3, new Event(this.target, var1, 506, var4, var5, 0, var6, (Object)null));
- this.target.postEvent(var7);
- }
-
- protected void handleExpose(long var1, int var3, int var4, int var5, int var6, int var7) {
- Object var8 = null;
- Graphics var9 = this.getGraphics();
- var9.clipRect(var4, var5, var6, var7);
- this.paint(var9);
- var9.dispose();
- }
-
- protected void handleRepaint(long var1, int var3, int var4, int var5, int var6, int var7) {
- Object var8 = null;
- Graphics var9 = this.getGraphics();
- var9.clipRect(var4, var5, var6, var7);
- this.update(var9);
- var9.dispose();
- }
-
- protected void nativeDragEnter(long var1, int var3, int var4, int var5, int var6, int var7) {
- System.out.println("nativeDragEnter:\n\tX: " + var4 + "\n\tY: " + var5 + "\n\tpData: " + var6 + "\n\tkeyState: " + var7);
- }
-
- protected void nativeDragOver(long var1, int var3, int var4, int var5, int var6) {
- System.out.println("nativeDragOver:\n\tX: " + var4 + "\n\tY: " + var5 + "\n\tkeyState: " + var6);
- }
-
- protected void nativeDragLeave(long var1, int var3) {
- System.out.println("nativeDragLeave:");
- }
-
- protected void nativeDragDrop(long var1, int var3, int var4, int var5, int var6, int var7) {
- System.out.println("nativeDragEnter:\n\tX: " + var4 + "\n\tY: " + var5 + "\n\tpData: " + var6 + "\n\tkeyState: " + var7);
- }
-
- public DrawingSurfaceInfo getDrawingSurfaceInfo() {
- return new WDrawingSurfaceInfo(this);
- }
- }
-